#ifndef BULK_QUOTE_H
#define BULK_QUOTE_H

#include "Quote.h"
#include "Disc_quote.h"

/**
 * @brief 当同一书籍的销售量超过某个值时启动折扣，
 *        折扣的值时一个小于1的正的下小数值，一次来降低正常销售价格
 * 
 */
class Bulk_quote : public Disc_quote // 继承自 Quote
{
public:
    Bulk_quote* clone() const & 
        { return new Bulk_quote(*this); }
    Bulk_quote* clone() && 
        { return new Bulk_quote(std::move(*this)); }
    Bulk_quote() = default;
    Bulk_quote(const std::string &book, double price, std::size_t qty, double disc)
        :   Disc_quote(book, price, qty, disc) { }
    // 覆盖基类的函数版本以实现基于大量购买的折扣政策
    double net_price(std::size_t) const override;
private:

};
// /**
//  * @brief 如果达到了购买书籍的某个最低限量值，就可以享受折扣价格了
//  * 
//  * @param cnt 
//  * @return double 
//  */
// double Bulk_quote::net_price(std::size_t cnt) const
// {
//     if(cnt >= min_qty)
//     {
//         return cnt * (1 - discount) * price;
//     }
//     else
//     {
//         return cnt * price;
//     }
// }
#endif